package com.uade.tp.view;
import java.util.Vector;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import com.uade.tp.controlador.Delivery;
import com.uade.tp.negocio.view.ProductoView;
import com.uade.tp.negocio.view.RecetaView;
import com.uade.tp.negocio.view.SeccionView;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ModificacionSeccion extends javax.swing.JFrame {
	private JComboBox jComboBoxSecciones;
	private JLabel jlblSecciones;
	private JTextField jtextEspecialidad;
	private JLabel jlblEspecilidad;
	private JButton jButtonSalir;
	private JButton jButtonModificar;
	private static ModificacionSeccion instancia;
	
	public static ModificacionSeccion getInstancia() {
		
		if (instancia == null){
			instancia = new ModificacionSeccion();
		}
		instancia.setLocationRelativeTo(null);
		instancia.cargarLista();
		//instancia.getSeleccionado();
		return instancia;
	}

	
	private ModificacionSeccion() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				ComboBoxModel jComboBoxSeccionesModel = new DefaultComboBoxModel();
				jComboBoxSecciones = new JComboBox();
				getContentPane().add(jComboBoxSecciones);
				jComboBoxSecciones.setModel(jComboBoxSeccionesModel);
				jComboBoxSecciones.setBounds(123, 28, 141, 23);
				jComboBoxSecciones.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						instancia.getSeleccionado();
					}
				});
			}
			{
				jlblSecciones = new JLabel();
				getContentPane().add(jlblSecciones);
				jlblSecciones.setText("Secciones: ");
				jlblSecciones.setBounds(40, 31, 75, 16);
			}
			{
				jButtonModificar = new JButton();
				getContentPane().add(jButtonModificar);
				jButtonModificar.setText("Modificar");
				jButtonModificar.setBounds(64, 149, 84, 37);
				jButtonModificar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						Delivery.getInstancia().modificarSeccion(
								((SeccionView)jComboBoxSecciones.getSelectedItem()).getNombre(), 
								jtextEspecialidad.getText());
//						ComboBoxModel jComboBoxSeccionesModel = new DefaultComboBoxModel();
						cargarLista();
//						jComboBoxSecciones.setModel(jComboBoxSeccionesModel);
						JOptionPane.showMessageDialog(null, "modificacion realizada con exito");
						instancia.getSeleccionado();
					
					}
				});
			}
			{
				jButtonSalir = new JButton();
				getContentPane().add(jButtonSalir);
				jButtonSalir.setText("Salir");
				jButtonSalir.setBounds(165, 149, 81, 37);
				jButtonSalir.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("jButtonSalir.actionPerformed, event="+evt);
						instancia.setVisible(false);
					}
				});
			}
			{
				jlblEspecilidad = new JLabel();
				getContentPane().add(jlblEspecilidad);
				jlblEspecilidad.setText("Especialidad: ");
				jlblEspecilidad.setBounds(34, 73, 77, 16);
			}
			{
				jtextEspecialidad = new JTextField();
				getContentPane().add(jtextEspecialidad);
				jtextEspecialidad.setBounds(123, 70, 139, 23);
			}
			pack();
			this.setSize(325, 266);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	private void getSeleccionado(){
		if (jComboBoxSecciones.getSelectedItem() != null){
			jtextEspecialidad.setText(((SeccionView)jComboBoxSecciones.getSelectedItem()).getEspecialidad());
		}
	}
	
	private void cargarLista(){
		Vector <SeccionView> secciones = Delivery.getInstancia().getDeliveryView().obtenerSeccionesView();
		jComboBoxSecciones.removeAllItems();
		for(SeccionView s:secciones){
			jComboBoxSecciones.addItem(s);
		}		
	}
	
	public boolean existenSecciones() {
		return jComboBoxSecciones.getItemCount() > 0;
	}
	

}
